package user;

import course.CourseList;
import function.*;
import java.util.Scanner;

public class User {
private String name;
public IFunction[] iFunctions;//写一个接口数组。里面存储继承接口的功能类，然后通过调用”类.work”来实现功能

    public User(String name) {
        this.name = name;
this.iFunctions=new IFunction[]{//在user的构造方法中就初始化接口数组，这个数组的顺序对应的是下面菜单功能的顺序，这样就可以通过选择菜单来实现这些功能了
        new Exitfunction(),//退出
        new FindFunction(),//查找
        new AddFunction(),//添加
        new DelFunction(),//删除
        new ShowFunction()//显示
};
    }
public int menu(){//打印菜单栏，然后用户输入要实现的功能代号并且接收代号
    System.out.println("****************************");
    System.out.println("您好 "+name+" 欢迎来到课程管理系统");
    System.out.println("1.查找课程！");
    System.out.println("2.新增课程！");
    System.out.println("3.删除课程！");
    System.out.println("4.显示所有课程！");
    System.out.println("0.退出系统！");
    System.out.println("****************************");
    System.out.println("请输入你的操作：");
    Scanner scanner = new Scanner(System.in);
    int choice=scanner.nextInt();
    return choice;
}
public void dowork(int choice, CourseList courseList){
        iFunctions[choice].work(courseList);//通过上面的choice选择的代号来调用接口数组里面的特定功能对象，并且调用功能对象的work方法
     }
}

